package br.com.fieo.sgee.dao;

import br.com.fieo.sgee.model.User;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 * Classe utilizada para se comunicar com a tabela de usuários da base de dados
 * @author rafael
 */
public class UserDAO extends Dao<User> {

    /**
     * Construtor informando a sessão do hibernate
     * @param session do hibernate
     */
    public UserDAO(Session session) {
        super(session, User.class);
    }

    /**
     * Método para efetuar o login no sistema
     * @param login informado na tela inicial
     * @param password informada na tela inicial
     * @return Um usuário preenchido caso sejá válido
     */
    public User login(String login, char[] password) {
        Query q = session.getNamedQuery("User.login");
        q.setParameter("login", login);
        q.setParameter("password", new String(password));
        return (User) q.uniqueResult();
    }
}
